The machining of a part from raw stock or material, such as metal, is a form of subtractive manufacturing during which raw material is progressively removed from the part until the part reaches an intended shape and size. The machining generally reduces the raw material to a rough form within a specified tolerance; further manufacturing processes may be required to smooth, polish, finish, or otherwise transform the part into a final form of completion.
Machining primarily involves turning, drilling and milling the raw material into the part desired. The operations respectively remove the raw material by rotating the part against a stationary cutting tool, axially boring holes using a rotating bit with a cutting edge on a distal end whilst the raw material is held stationary, and cutting away the raw material using a rotating bit with cutting edges along the rotating bit's sides and distal end. In drilling and milling, a rotating bit along a longitudinal axis in the Z-dimension. Milling additionally involves moving the rotating bit along a plane in the X- and Y-dimensions. Other kinds of machining operations and tools exist.
Machining has benefited from the increased integration of computerization into various stages of the manufacturing process. For instance, a part can first be digitally represented through an electronically-stored model output from a computer-aided design (CAD) program. Computer-aided manufacturing (CAM) software uses a part's digital model, such as generated by a CAD program, and a model of the manufacturing setup to create a set of machining instructions. These instructions, following automated post-planning process validation, can be used to program digitally-automated milling machines to manufacture the part from raw materials using computer numerical control (CNC) machining instructions.
Despite the advances in parts design and manufacturing planning made possible by CAD, CAM and related software tools, conventional efforts in these areas still focus primarily on automating the validation of human-generated manufacturing process plans in an effort to better support efficient integration between product lifecycle management and physical shop floor production. In general, these software tools provide virtual environments that facilitate the modeling, planning, simulation, and analysis of manufacturing processes post facto, as supported by algorithms for path planning, collision detection, cycle time calculations, layout modeling and resource allocation, and validating user-driven inputs, ranging from a single operation to an entire manufacturing program.
Several problems remain in the task of validating manufacturing process plans that define a sequence of machining instructions, such as expressible by a CNC program, to produce parts from raw stock. First, depending upon a part's complexity, attempting the task manually and without automation may be time-consuming, expensive and impracticable. Further, the effort can occupy a large segment of the process planning stage and will invariably require human intervention, creativity and experience to sufficiently refine proposed process plans before their execution can be validated with digital manufacturing tools.
The inverse problem that of defining a process plan for manufacturing a part from raw stock through digitally-automated machining, is likewise ill-posed. Conventional solutions for producing process plans for manufacturing parts with arbitrary geometric complexity using a selection of different tools fail to resolve these problems. A process plan solution may not exist if the part is non-manufactureable, or multiple feasible process plan solutions may exist if the part is manufactureable. The problem space of solutions grows as the geometric complexity of the part and the selection of available machining tools increase. Furthermore, process plans are influenced by machine-specific parameters, including tool poses or orientations; layout planning, including staging models of the uncut raw material that remains before a machining operation; constraints affected by fixture and tool setup times and costs; overall manufacturing time; design tolerances; and so forth. The potential solution space can rapidly become intractable as the number of machining tools and required directions of access to the raw material increase. For instance, process planning in a search space having only eight required access directions and five tools has a ramification factor of 40, which means that there are 4010>1e16 different process plans of length ten.
Conventional solutions to process planning rely on the use of machining features, which are subsets of solid design models that are parameterized and annotated with manufacturing information. Process planners use the solid models to recognize and extract features; the extracted features are mapped to a relevant set of manufacturing processes. Most feature recognition techniques are restricted to pocket milled, drilled and turned features in which accessibility analysis outlines candidate sets of orientations in which a part may be machined. When parts can be fabricated by independently machining all recognized features, these types of process planners can be quite effective. However, feature-based process planning is unable to scale up to a large class of parts, especially when designs consist of interacting features, machinable regions not classified as manufacturing features, or regions requiring combinations of machining operations in multiple orientations. In these cases, when the volume to be machined has to be decomposed into features, the subvolumes may not be manufactureable, or could be difficult to identify as being manufactureable; moreover, alternate decompositions of a solid model into features could yield different and inconsistent results, which can complicate and confuse process planning.
Therefore, a need remains for an approach to creating and implementing process plans for manufacturing machining operations that accommodate machine-specific and staging model-specific parameters and manufacturing cost constraints while efficiently scaling as part design complexity increases.